#ifndef MATH_HPP
#define MATH_HPP

#include <cmath>

#include "../NeonCore/Global.hpp"

namespace Neon
{
/*!
* Contains commonly used precalculated values.
*/
class NEON_DLL Math
{
public:
	/*!
	Represents the value of pi.
	*/
	NEON_STATIC nfloat Pi;

	/*!
	Represents the value of pi divided by two.
	*/
	NEON_STATIC nfloat PiOver2;

	/*!
	Represents the value of pi divided by four.
	*/
	NEON_STATIC nfloat PiOver4;

	/*!
	Converts radians to degrees.
	*\param radians The angle in radians.
	*\return The angle in degrees.
	*/
	NEON_STATIC nfloat toDegrees(const nfloat radians);

	/*!
	Converts degrees to radians.
	*\param degrees The angle in degrees.
	*\return The angle in radians.
	*/
	NEON_STATIC nfloat toRadians(const nfloat degrees);

	/*!
	Represents the value of pi times two.
	*/
	NEON_STATIC nfloat TwoPi;
}; // End of class Math.

} // End of namespace Neon.

#endif // MATH_HPP